package com.eighth.observer.self;


import java.util.List;
import java.util.Vector;

/**
 * 订阅模式（）
 */
public class MessageImpl implements IMessage {
    // 维护的观察者列表
    private List<IObserver> list = new Vector<IObserver>();

    private String message; //消息数据

    //改变消息的方法
    void setMessage(String message) {
        this.message = message;
        notifyObservers();//通过所有的观察者
    }

    @Override
    public void registerObserver(IObserver o) {
        list.add(o);
    }

    @Override
    public void removeObserver(IObserver o) {
        list.remove(o);
    }

    @Override
    public void notifyObservers() {
        for (IObserver observer : list) {
            observer.update(message);
        }
    }
}
